/*
 * author：shinion
 * date:2019-10-24
 * 功能：   
 *      综合监控页面，地图上方的工具菜单
 */


M_toolMenu = {};
M_toolMenu.debug = true;//调试标记
M_toolMenu.toolId = 'm_tool_menu_id';
M_toolMenu.menuWidth = 120;//定义下拉菜单的宽度

M_toolMenu.mapSet = {};
M_toolMenu.mapSet.mapType = '';//'amap' 或者'baidu'

//////////////////////////////////////////////初始化数据

//初始化信息
M_toolMenu.init = function(mapType){
    // this.outDebug("开始初始化地图工具菜单栏信息...");
    this.initMapType(mapType);
    this.initMenuDivs();
}
// 初始化地图类型
M_toolMenu.initMapType = function(mapType){
    try {
        this.mapSet.mapType = mapType;
    } catch (error) {
        console.error("获取地图类型失败：" + error);
    }
}

//初始化菜单控件
M_toolMenu.initMenuDivs = function(){
    $("#" + this.toolId).html('');
    this.initMapSetMenu();//地图设置
    this.initMapMenu(); //地图工具
    this.initMarkMenu();//标注
    this.initAreaMenu();//区域查车
    this.initAreaRenceMenu();//电子围栏
}


//////////////////////////////////////////////初始化地图切换菜单
//初始化地图切换菜单
M_toolMenu.initMapSetMenu = function(){
    let mapId = 'm_tool_menu_mapSet_';
    this.initMapSetMenuDiv(mapId);
}

//初始化地图切换菜单控件
M_toolMenu.initMapSetMenuDiv = function(mapId){
    let btnId = mapId + '1';
    let menuId = mapId + '2';
    let html = '';
    let amapType = '';
    let baiduType = '';
    if(this.mapSet.mapType == 'amap'){
        amapType = 'data-options="iconCls:\'icon-sh-now\'"';
    }
    if(this.mapSet.mapType == 'baidu'){
        baiduType = 'data-options="iconCls:\'icon-sh-now\'"';
    }
    html += '<a id="' + btnId +'" href="javascript:void(0);">地图切换</a>'
        + '<div id="' + menuId +'" style="width:' + this.menuWidth + 'px;">'
        + '<div ' + amapType +' onclick="M_toolMenu.mapSet_SetMapType(\'amap\');">高德地图</div>'
        + '<div ' + baiduType +' onclick="M_toolMenu.mapSet_SetMapType(\'baidu\');">百度地图</div>'
        + '</div>';
    $("#" + this.toolId).append(html);
    // //初始化控件
    $("#" + btnId).menubutton({
        iconCls: 'icon-map1',
        menu: '#'+ menuId
    });
}

//设置地图类型
M_toolMenu.mapSet_SetMapType = function(mapType){
    try {
        // this.outDebug('开始设置地图类型：' + mapType + " ， 当前地图类型：" ,this.mapSet.mapType);
        if(mapType != this.mapSet.mapType){//相同则不设置
            let obj = parent.MyMenu;
            // this.outDebug("当前菜单工具：" ,obj);
            if(typeof(obj.setMapPath) == 'function'){
                obj.setMapPath(mapType);
            }
        }
    } catch (error) {
        console.error('设置地图类型失败:' + error);
    }
}


//////////////////////////////////////////////初始化地图工具菜单

M_toolMenu.mapTool = {};
M_toolMenu.mapTool.handId = 'panelTool';//拖动地图
M_toolMenu.mapTool.zoomInId = 'rectZoominTool';//放大
M_toolMenu.mapTool.zoomOutId = 'rectZoomoutTool';//缩小
M_toolMenu.mapTool.measureId = 'measureTool';//测距

M_toolMenu.mapTool.keyPointId = 'keyPointTool';//关键点
M_toolMenu.mapTool.saveCentPointId = 'saveTool';//保存中心兴趣点


//初始化地图工具菜单
M_toolMenu.initMapMenu = function(){
    let mapId = 'm_tool_menu_map_';
    let btnId = mapId + '1';
    let menuId = mapId + '2';
    let html = '';
    html += '<a id="' + btnId +'" href="javascript:void(0);">地图工具</a>'
        + '<div id="' + menuId +'" style="width:' + (this.menuWidth + 20) + 'px;">'
        + '<div id="' + this.mapTool.handId + '" data-options="iconCls:\'icon-sh-hand\'">拖动地图</div>'
        + '<div id="' + this.mapTool.zoomOutId + '" data-options="iconCls:\'icon-sh-zoomOut\'">矩形缩小</div>'
        + '<div id="' + this.mapTool.zoomInId + '" data-options="iconCls:\'icon-sh-zoomIn\'">矩形放大</div>'
        + '<div class="menu-sep"></div>'
        + '<div id="' + this.mapTool.measureId + '" data-options="iconCls:\'icon-sh-measure\'">测距</div>'
        + '<div class="menu-sep"></div>'
        + '<div id="' + this.mapTool.keyPointId + '" data-options="iconCls:\'icon-sh-keypoint\'">关键点</div>'
        + '<div id="' + this.mapTool.saveCentPointId + '" data-options="iconCls:\'icon-sh-point\'">保存中心兴趣点</div>'
        + '</div>';
    // this.outDebug("html = " + html);
    $("#" + this.toolId).append(html);
    //初始化控件
    $("#" + btnId).menubutton({
        iconCls: 'icon-edit',
        menu: '#' + menuId
    });
}




//////////////////////////////////////////////标注菜单

M_toolMenu.markTool = {};
M_toolMenu.markTool.markAddId = 'markerTool';

//初始化标注菜单
M_toolMenu.initMarkMenu = function(){
    let mapId = 'm_tool_menu_mark_';
    let btnId = mapId + '1';
    let menuId = mapId + '2';
    let html = '';
    html += '<a id="' + btnId +'" href="javascript:void(0);">标注</a>'
        + '<div id="' + menuId +'" style="width:' + this.menuWidth + 'px;">'
        + '<div id="' + this.markTool.markAddId + '" data-options="iconCls:\'icon-sh-markAdd\'">添加标注</div>'
        // + '<div data-options="iconCls:\'icon-remove\'">删除标注</div>'
        + '</div>';
    // this.outDebug("html = " + html);
    $("#" + this.toolId).append(html);
    //初始化控件
    $("#" + btnId).menubutton({
        iconCls: 'icon-map',
        menu: '#' + menuId
    });
}


//////////////////////////////////////////////区域查车

M_toolMenu.areaTool = {};
M_toolMenu.areaTool.rectQueryId = 'rectQueryTool';

//初始化区域查车
M_toolMenu.initAreaMenu = function(){
    let mapId = 'm_tool_menu_area_';
    this.initAreaMenuDiv(mapId);
}

//初始化区域查车菜单控件
M_toolMenu.initAreaMenuDiv = function(mapId){
    let btnId = mapId + '1';
    let menuId = mapId + '2';
    let html = '';
    // html += '<div id="' + btnId + '" class="sh_css_oneMenuDiv" style="height:100%;">'
    //     + '<div class="ui-icon icon-search" style="width:16px;height:16px;"></div>'
    //     + '<div>区域查车</div>'
    //     + '&nbsp;'
    //     + '</div>';
    html += '<a id="' + btnId +'" href="javascript:void(0);">区域查车</a>'
        + '<div id="' + menuId +'" style="width:' + this.menuWidth + 'px;">'
        + '<div id="' + this.areaTool.rectQueryId + '" data-options="iconCls:\'icon-sh-rectQuery\'">矩形查车</div>'
        // + '<div data-options="iconCls:\'icon-remove\'">删除标注</div>'
        + '</div>';
    $("#" + this.toolId).append(html);
    //初始化控件
    $("#" + btnId).menubutton({
        iconCls: 'icon-sh-overlay',
        menu: '#' + menuId
    });
}


/////////////////////////////////////////////电子围栏
M_toolMenu.areaFence = {};
M_toolMenu.areaFence.rectId = 'rectTool';
M_toolMenu.areaFence.cricleId = 'circleTool';
M_toolMenu.areaFence.polygonId = 'polygonTool';


//初始化电子围栏
M_toolMenu.initAreaRenceMenu = function(){
    let mapId = 'm_tool_menu_areaFence_';
    this.initAreaFenceMenuDiv(mapId);
}

//初始化电子围栏菜单控件
M_toolMenu.initAreaFenceMenuDiv = function(mapId){
    let btnId = mapId + '1';
    let menuId = mapId + '2';
    let html = '';
    // html += '<div id="' + btnId + '" class="sh_css_oneMenuDiv" style="height:100%;">'
    //     + '<div class="ui-icon icon-search" style="width:16px;height:16px;"></div>'
    //     + '<div>区域查车</div>'
    //     + '&nbsp;'
    //     + '</div>';
    html += '<a id="' + btnId +'" href="javascript:void(0);">电子围栏</a>'
        + '<div id="' + menuId +'" style="width:' + this.menuWidth + 'px;">'
        + '<div id="' + this.areaFence.rectId + '" data-options="iconCls:\'icon-sh-rect\'">矩形区域</div>'
        + '<div id="' + this.areaFence.cricleId + '" data-options="iconCls:\'icon-sh-circle\'">圆形区域</div>'
        + '<div id="' + this.areaFence.polygonId + '" data-options="iconCls:\'icon-sh-polygon\'">多边形区域</div>'
        // + '<div data-options="iconCls:\'icon-remove\'">删除标注</div>'
        + '</div>';
    $("#" + this.toolId).append(html);
    //初始化控件
    $("#" + btnId).menubutton({
        iconCls: 'icon-sh-polygon',
        menu: '#' + menuId
    });
}


/////////////////////////////////////////////////公共方法
//输出调试信息
M_toolMenu.outDebug = function (msg, data) {
    if (this.debug == true) {
        DataUtil.outDebug(msg, data);
    }
}